package com.example.theoretical_verification.collection;

import java.util.TreeMap;
import java.util.TreeSet;

public class MyTreeMap03 {
    public static void main(String[] args) {
        TreeMap<Student02, Integer> treeMap = new TreeMap<>();

        // 这个案例，走到下面add的时候会报错。应为Student01没有实现Comparable接口
        Student02 s = new Student02("E", 12);
        treeMap.put(s, 0);
        Student02 s1 = new Student02("B", 23);
        treeMap.put(s1, 1);
        Student02 s2 = new Student02("D", 25);
        treeMap.put(s2, 2);
        Student02 s3 = new Student02("A", 35);
        treeMap.put(s3, 3);
        Student02 s4 = new Student02("C", 15);
        treeMap.put(s4, 4);
        Student02 s5 = new Student02("A", 21);
        treeMap.put(s5, 5);

        System.out.println(treeMap);

        // 实际打印结果。符合Student02实现的Comparable接口实现的比较规则，按照name、age升序排列。
        // {Student{name='A', age=21}
        //=5, Student{name='A', age=35}
        //=3, Student{name='B', age=23}
        //=1, Student{name='C', age=15}
        //=4, Student{name='D', age=25}
        //=2, Student{name='E', age=12}
        //=0}
    }
}
